<template>
  <view class="pics">
    <scroll-view class="left" scroll-y>
      <view
        @click="leftClickHandle(index, item.id)"
        :class="active===index?'active':''"
        v-for="(item, index) in cates"
        :key="item.id"
      >
        {{ item.title }}
      </view>
    </scroll-view>
    <scroll-view class="right" scroll-y>
      <view class="item" v-for="item in secondData" :key="item.id">
        <image @click="previewImg(item.img_url)" :src="item.img_url"></image>
        <text>{{ item.title }}</text>
      </view>
      <text v-if="secondData.length === 0">暂无数据</text>
    </scroll-view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      cates: [],
      active: 0,
      secondData: []
    };
  },
  methods: {
    async getPicsCate() {
      const res = await this.$myRequest({
        url: '/api/getimgcategory'
      });
      this.cates = res.data.message;
      this.leftClickHandle(0, this.cates[0].id);
    },
    async leftClickHandle(index, id) {
      this.active = index;
      // 获取右侧的数据
      const res = await this.$myRequest({
        url: '/api/getimages/' + id
      });
      this.secondData = res.data.message;
    },
    previewImg(current) {
      const urls = this.secondData.map(item => {
        return item.img_url;
      });
      uni.previewImage({
        current,
        urls
      });
    }
  },
  onLoad() {
    this.getPicsCate();
  }
};
</script>

<style lang="scss">page{	height: 100%;}.pics{	height: 100%;	display: flex;	.left{		width: 200rpx;		height: 100%;		border-right:1px solid #eee;		view{			height: 60px;			line-height: 60px;			color: #333;			text-align: center;			font-size: 30rpx;			border-top:1px solid #eee;		}		.active{			background: $shop-color;			color: #fff;		}	}	.right{		height: 100%;		width: 520rpx;		margin: 10rpx auto;		.item{			image{				width: 520rpx;				height: 520rpx;				border-radius: 5px;			}			text{				font-size: 30rpx;				line-height: 60rpx;			}		}	}}</style>